package com.fau.wmbj.server.service;

import com.fau.wmbj.server.entity.SysConfig;
import com.fau.wmbj.server.service.base.BaseService;

import java.util.List;
import java.util.Map;

/**
 * 系统配置
 *
 * @author jiawei
 * @version 1.0
 * @datetime 2023-03-21 16:57
 */
public interface SysConfigService extends BaseService<SysConfig, Long> {

    /**
     * 获取所有配置
     *
     * @param useCache 是否使用缓存
     */
    List<SysConfig> findAllConfig(boolean useCache);

    /**
     * 获取所有配置（返回Map）
     *
     * @param useCache 是否使用缓存
     */
    Map<String, Object> findAllConfigAsMap(boolean useCache);

    /**
     * 更新配置
     *
     * @param configGroup 配置组
     * @param configKey   配置键
     * @param configValue 配置值
     */
    SysConfig updateConfig(String configGroup, String configKey, String configValue);

    /**
     * 获取配置值
     *
     * @param configKey 配置键
     */
    String getConfigValue(String configKey);

    /**
     * 分组获取配置值
     *
     * @param configGroup 配置组
     */
    List<SysConfig> getConfigByGroup(String configGroup);


}
